{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## ThinkDSP\n",
    "\n",
    "This notebook contains solutions to exercises in Chapter 8: Filtering and Convolution\n",
    "\n",
    "Copyright 2015 Allen Downey\n",
    "\n",
    "License: [Creative Commons Attribution 4.0 International](http://creativecommons.org/licenses/by/4.0/)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "# Get thinkdsp.py\n",
    "\n",
    "import os\n",
    "\n",
    "if not os.path.exists('thinkdsp.py'):\n",
    "    !wget https://github.com/AllenDowney/ThinkDSP/raw/master/code/thinkdsp.py"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "from thinkdsp import decorate"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exercise 1\n",
    "\n",
    "In this chapter I claimed that the Fourier transform of a Gaussian\n",
    "curve is also a Gaussian curve.  For discrete Fourier transforms,\n",
    "this relationship is approximately true.\n",
    "\n",
    "Try it out for a few examples.  What happens to the Fourier transform\n",
    "as you vary `std`?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Solution\n",
    "\n",
    "I'll start with a Gaussian similar to the example in the book."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import scipy.signal\n",
    "\n",
    "gaussian = scipy.signal.gaussian(M=32, std=2)\n",
    "gaussian /= sum(gaussian)\n",
    "plt.plot(gaussian)\n",
    "decorate(xlabel='Index')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's what the FFT looks like:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "fft_gaussian = np.fft.fft(gaussian)\n",
    "plt.plot(abs(fft_gaussian))\n",
    "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If we roll the negative frequencies around to the left, we can see more clearly that it is Gaussian, at least approximately."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "N = len(gaussian)\n",
    "fft_rolled = np.roll(fft_gaussian, N//2)\n",
    "plt.plot(abs(fft_rolled))\n",
    "decorate(xlabel='Frequency (Hz)', ylabel='Amplitude')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This function plots the Gaussian window and its FFT side-by-side."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_gaussian(std):\n",
    "    M = 32\n",
    "    gaussian = scipy.signal.gaussian(M=M, std=std)\n",
    "    gaussian /= sum(gaussian)\n",
    "    \n",
    "    plt.subplot(1, 2, 1)\n",
    "    plt.plot(gaussian)\n",
    "    decorate(xlabel='Time')\n",
    "\n",
    "    fft_gaussian = np.fft.fft(gaussian)\n",
    "    fft_rolled = np.roll(fft_gaussian, M//2)\n",
    "    \n",
    "    plt.subplot(1, 2, 2)\n",
    "    plt.plot(np.abs(fft_rolled))\n",
    "    decorate(xlabel='Frequency')\n",
    "    plt.show()\n",
    "\n",
    "plot_gaussian(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can make an interaction that shows what happens as `std` varies."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "from ipywidgets import interact, interactive, fixed\n",
    "import ipywidgets as widgets\n",
    "\n",
    "slider = widgets.FloatSlider(min=0.1, max=10, value=2)\n",
    "interact(plot_gaussian, std=slider);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As `std` increases, the Gaussian gets wider and its FFT gets narrower.\n",
    "\n",
    "In terms of continuous mathematics, if\n",
    "\n",
    "$f(x) = e^{-a x^2}$\n",
    "\n",
    "which is a Gaussian with mean 0 and standard deviation $1/a$, its Fourier transform is\n",
    "\n",
    "$F(k) = \\sqrt{\\frac{\\pi}{a}} e^{-\\pi^2 k^2/a}$\n",
    "\n",
    "which is a Gaussian with standard deviation $a / \\pi^2$.  So there is an inverse relationship between the standard deviations of $f$ and $F$.\n",
    "\n",
    "For the proof, see http://mathworld.wolfram.com/FourierTransformGaussian.html"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Exercise 2\n",
    "\n",
    "If you did the exercises in Chapter 3, you saw the effect of the Hamming window, and some of the other windows provided by NumPy, on spectral leakage.  We can get some insight into the effect of these windows by looking at their DFTs.\n",
    "\n",
    "In addition to the Gaussian window we used in this window, create a Hamming window with the same size.  Zero pad the windows and plot their DFTs.  Which window acts as a better low-pass filter?  You might find it useful to plot the DFTs on a log-$y$ scale.\n",
    "\n",
    "Experiment with a few different windows and a few different sizes."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Solution\n",
    "\n",
    "Following the examples from the chapter, I'll create a 1-second wave sampled at 44.1 kHz."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "from thinkdsp import SquareSignal\n",
    "\n",
    "signal = SquareSignal(freq=440)\n",
    "wave = signal.make_wave(duration=1.0, framerate=44100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "And I'll create a few windows.  I chose the standard deviation of the Gaussian window to make it similar to the others."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "M = 15\n",
    "std = 2.5\n",
    "\n",
    "gaussian = scipy.signal.gaussian(M=M, std=std)   \n",
    "bartlett = np.bartlett(M)\n",
    "blackman = np.blackman(M)\n",
    "hamming = np.hamming(M)\n",
    "hanning = np.hanning(M)\n",
    "\n",
    "windows = [blackman, gaussian, hanning, hamming]\n",
    "names = ['blackman', 'gaussian', 'hanning', 'hamming']\n",
    "\n",
    "for window in windows:\n",
    "    window /= sum(window)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Let's see what the windows look like."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for window, name in zip(windows, names):\n",
    "    plt.plot(window, label=name)\n",
    "\n",
    "decorate(xlabel='Index')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "They are pretty similar.  Let's see what their DFTs look like:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def zero_pad(array, n):\n",
    "    \"\"\"Extends an array with zeros.\n",
    "\n",
    "    array: NumPy array\n",
    "    n: length of result\n",
    "\n",
    "    returns: new NumPy array\n",
    "    \"\"\"\n",
    "    res = np.zeros(n)\n",
    "    res[:len(array)] = array\n",
    "    return res"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [],
   "source": [
    "def plot_window_dfts(windows, names):\n",
    "    \"\"\"\n",
    "    \"\"\"\n",
    "    for window, name in zip(windows, names):\n",
    "        padded =  zero_pad(window, len(wave))\n",
    "        dft_window = np.fft.rfft(padded)\n",
    "        plt.plot(abs(dft_window), label=name)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Also pretty similar, but it looks like Hamming drops off the fastest, Blackman the slowest, and Hanning has the most visible sidelobes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_window_dfts(windows, names)\n",
    "decorate(xlabel='Frequency (Hz)')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Here's the same plot on a log-y scale."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false,
    "jupyter": {
     "outputs_hidden": false
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_window_dfts(windows, names)\n",
    "decorate(xlabel='Frequency (Hz)', yscale='log')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "On a log scale we can see that the Hamming and Hanning drop off faster than the other two at first.  And the Hamming and Gaussian windows seem to have the most persistent sidelobes.  The Hanning window might have the best combination of fast drop off and minimal sidelobes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true,
    "jupyter": {
     "outputs_hidden": true
    }
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
